package com.qsbg.entity.vo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class ResultVo {
    private Integer code;//状态码
    private String msg;//消息
    private Object data;//数据

    //有Data的成功状态
    public static ResultVo ok(Object data){
        ResultVo result = new ResultVo(ResultStatusEnum.SUCCESS.getCode(), ResultStatusEnum.SUCCESS.getMsg(), data);
        return result;
    }

    //无Data的成功状态
    public static ResultVo ok(){
        return ok(null);
    }

    //自定义成功msg
    public static ResultVo ok(String meg,Object data){
        ResultVo result = new ResultVo(200,meg,data);
        return result;
    }
    //普通的失败状态
    public static ResultVo fail(ResultStatusEnum resultStatusEnum){
        ResultVo result = new ResultVo(resultStatusEnum.getCode(),resultStatusEnum.getMsg(),null);
        return result;
    }
    //自定义失败信息的失败状态
    public static ResultVo fail(String meg){
        ResultVo result = new ResultVo(201,meg,null);
        return result;
    }
    //判断返回给前端的json中的ok是true还是false；表示成功还是失败。
    public boolean isOk() {
        if(this.getCode().intValue() == ResultStatusEnum.SUCCESS.getCode().intValue()) {
            return true;
        }
        return false;
    }
}
